package com.shujia

object Demo11Class {

  def main(args: Array[String]): Unit = {
    //创建类的对象
    val dog = new Dog(23)

    //指定对象的方法
    dog.print()
  }

}

/**
 * 类
 * 1、属性
 * 2、方法（不叫函数）
 * 3、构造方法
 */
class Dog(age: Int) { // 默认构造函数
  println("执行默认构造函数")
  //定义属性
  var _name: String = _

  //定义及赋值
  var _age: Int = age

  //定义方法
  def print(): Unit = {
    println("名字：" + _name + "  年龄：" + _age)
  }

  //定义构造方法
  def this(name: String, age: Int) { //重载构造函数
    //在重载构造函数的第一行需要先调用默认构造函数
    this(age)
    println("执行重载构造函数")
    _name = name
  }
}
